package com.qihang.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

/**
 * @ClassName FileUploadUtil
 * @Description 图片上传的公用类
 */
public class FileNameUtil {

	/**
	 * 得到文件的后缀 
	 * 
	 * @param fileName 文件名称
	 * @return 文件的后缀  包含 . 这个字符
	 */
	private static String getExtention(String fileName) {
		int pos = fileName.lastIndexOf(".");
		return fileName.substring(pos);
	}

	/**
	 * 获取唯一的图片名称
	 * 
	 * @param fileName 原来的图片名称参数
	 * @return 唯一的新的文件名称
	 */
	public static String findImageFileName(String fileName) {
		Random r = new Random();//初始化随机类Random实例
		int rannum = (int) (r.nextDouble() * (99999 - 10000 + 1)) + 10000; // 获取随机数
		String strDate = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//生成日期字符创
		String theFileName = rannum + strDate + getExtention(fileName);//组合成唯一的文件名称+后缀名
		return theFileName;
	}
	
	/**
	 * 获取唯一的图片名称
	 * 
	 * @param fileName 原来的图片名称参数
	 * @return 唯一的新的文件名称
	 */
	public static String findImageFileNameNoExtention(String fileName) {
		Random r = new Random();//初始化随机类Random实例
		int rannum = (int) (r.nextDouble() * (99999 - 10000 + 1)) + 10000; // 获取随机数
		String strDate = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//生成日期字符创
		String theFileName = rannum + strDate;//组合成唯一的文件名称+后缀名
		return theFileName;
	}
	
	/**
	 * 检查是否是图片格式
	 * @param imgStr 图片名称
	 * @return
	 */
    public static boolean checkIsImage(String imgStr) {
    	//传入imgStr(xxx.xxx)
        boolean flag = false;
        if (imgStr != null){
        	//取文件名最后一个“.”到最后，然后统一改为大写，在判断是否后缀一样
            if (imgStr.substring(imgStr.lastIndexOf(".")).toLowerCase().equals(".gif")
                    || imgStr.substring(imgStr.lastIndexOf(".")).toLowerCase().equals(".jpg")
                    || imgStr.substring(imgStr.lastIndexOf(".")).toLowerCase().equals(".jpeg")
                    || imgStr.substring(imgStr.lastIndexOf(".")).toLowerCase().equals(".png")){
                flag = true;
            }
        }
        return flag;
    }
}